package com.sys.servlet;

import com.sys.dao.sysDao;
import com.sys.data.code;
import com.sys.util.console;
import net.sf.json.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

import static com.sys.util.stringUtils.StringIsEmptyOrNull;

@WebServlet(name = "outWarehouseServlet", urlPatterns = "/sys/outWarehouse", description = "物品出库")
public class outWarehouseServlet extends sysServlet {

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    setHeadHtml(req, resp, "outWarehouseServlet");
    sysDao dao = new sysDao();
    PrintWriter out = resp.getWriter();
    JSONObject backJson = new JSONObject();

    String departmentTargetId = req.getParameter("departmentTargetId");
    String outItemId = req.getParameter("outItemId");
    String outItemBrokerage = req.getParameter("outItemBrokerage");

    if (StringIsEmptyOrNull(departmentTargetId) || StringIsEmptyOrNull(outItemId) || StringIsEmptyOrNull(outItemBrokerage)) {
      backJson.put("code", code.ErrorParam.value());
      backJson.put("msg", code.ErrorParam.msg());
      out.print(backJson);
      return;
    }

    int outItemCount;
    try {
      outItemCount = Integer.valueOf(req.getParameter("outItemCount"));
    } catch (Exception e) {
      e.printStackTrace();
      console.log("数量填写错误");
      backJson.put("code", code.ErrorParam.value());
      backJson.put("msg", code.ErrorParam.msg());
      out.print(backJson);
      return;
    }

    dao.outWarehouse(departmentTargetId, outItemId, outItemCount, outItemBrokerage, out::print);
  }
}
